Added support for saving and loading foreground

Foreground objects can now be saved and loaded. however the level editor
is still garbage and is only used to test saving and loading features.
Foreground objects are saved the same as blocks so its up to the
foreground object itself to manage it's image loading and stuff.
saved Code blocks files