flight: big refactoring of tower implementation to support flight-hil

* still need to implement Flight.GCS.HIL to translate between
  mavlink hil messages and internal sensors, position values.
  but this should be pretty straightforward once I dig up James's
  old implementation from way back in the revision history...