Fixed interior image saving
Fixed ship saving, locations of elements

Previously, game objects were not be updated with model data prior to
saving, and hence user-made changes would have no effect.
Optimized image drawing by caching bounds

Previously, drawing function would call getBounds() method on the Image
object, which would create a new Rectangle object per every redraw call.
The bounds are now retrieved and stored in a variable when setImage()
method is called.
Added protected getModel and getView methods...

...to controllers
Changed some semi-singletons to follow the...

...singleton pattern more clearly (semi-singletons - basically
singletons, but lazily instantiated for one reason or another...)
Minor UI-related changes, ship saving
Continuation of commit b41ea40bf6f541f6208369d0e817558089093bcf
Player ship representation from string to enum

Less fallible and more handy than strings.
Changed Races enum names to fit in-game names
Added focus force when clicking the property tool

Allows to escape focus from text fields and such, and use hotkeys
Miscellaneous changes

- Added stuff to prop controller, but likely to be scrapped
- Minor tweaks to Properties "tool", added min/max sector for enemy
ships