Added some java-docs and error-checking.

Added some java-docs to the TerrainProfileAdapter to explain how the
adapter can be used. Also, added some null-argument checking to the
contructor.
Added compass-controller.

Added a compass-controller class to handle highlight, rollover and
selection events on the compass. The highlight and rollover events will
cause the compass to become highlighted by setting its opacity to a
higher value than it is currently set (only works if its default opacity
is less than 1.0). The selection event on the compass will cause the
view's heading, pitch and roll angles to snap to the controller's
specified heading, pitch and roll angles respectively. This allows logic
such as snap-to-north to be implemented by causing the heading value to
be set to 0-degrees.