Misc changes - see below

Fix for the rendering of GeometryObject.Box, reimplementation of
collision detection for all GeometryObjects, and changes to the public
interface for Cursor (propagated through all callers as well).