Second attempt at this Sensor stuff (WIP - UNTESTED)

* Move Sensor logic to Sensor itself, remove SensorEngine
* Use new parameters for specifying sensor config (bearing, orientation)
* Use new algorithm for detecting nearby objects to make it possible to
  detect objects that are partially within the FoV
* Collect extra information with detected objects (distance from sensor,
  span object takes up within field
* Sort objects by distance from sensor
* Standardise on [-PI, PI] as normal range of orientations