initial auto-scaling work
 - add loading screen & state system
 - major structure change
 - centralize asset loading
 - currently still not playable, but next commit should be.