These had become seriously unmaintained, with a lot of unnecessary
includes, as well as relying on indirect inclusion for others.
This change generally clarifies the dependencies of each
compilation unit clear while removing unused includes.
This engine is very incomplete, as rendering and sound playback are not handled well at all yet. However, most of the data structures in this engine are handled.