added listeners and timer to Engine2D
added size() to EngineDetails to simplify some code in Engine2D
finished(?) a preliminary implementation of Engine2D