Distance and Bearing management

Main changes:
- Added LocationVector as a wrapper of a Distance and a bearing.
- Added Thing.VectorFromPlayer as a provider of LocationVectors.
- Added internal Engine.GetVectorFromPlayer(Thing) for computing
LocationVectors.
- Added WIGInternal.VectorToZone and VectorToSegment.
- Added notifications of property change for Thing.VectorFromPlayer when
ZoneStateChanged is being handled by the engine. (Allows for data
binding.)
- Removed the Engine public methods for distance and bearing computing.

Additional changes:
- Added UIObject.ObjectLocation. (Spec)
- Removed Zone.ObjectLocation.
- Added EnumExtensions class in Enums.cs for extension methods to get
side properties of DistanceUnit enum values.
Usings and notice cleaning.