cad/freecad: optionize SpaceMouse support
Originially, FreeCAD picked up libspnav (SpaceMouse) support
when the library was present in the system during build. That
alone would be a minor problem, but people still insist on
building in unclean systems.
Additionally, libspnav support in FreeCAD was broken and resulted
in build failure when accidentially building with libspnav (see
above).
Upstream fixed this in a series of changes touching many places
and sometimes even depending on otherwise unrelated changes:
importing all that would be close to updating to a snapshot.
Instead, adopt the relevant fix for building with libspnav from
upstream, and put the whole libspnav detection behind a cmake
option (made accessible as a port option).
PR: 285542
Reported by: Chad Jacob Milios