wip 1
Refactor: Moved editable map elements into Map

Upon instantiation a Map is initially configured in editable mode.
The map edit API calls Map::endEditing() to signal that editing has
completed. At which point the new map elements are transferred from
the editable element lists, a BSP is built (todo: defer this) and
the map is switched to non-editable mode.

Todo: Cleanup.