Began move to OOP and Map as Element

The map is now an element which the other objects are children of.
This allows the icons to be stationary as the map moves.  Really
simplifies a lot of the code.