Renamed lock to door.
Added generic item/obstacle elements.
Dependency injection.
Cleanup.
Improved output.
Added restrictions on genome.
Added more evaluators.
TODO implement multi stage multi object optimization. See Main for
example.