Add application object for storing configuration information

This is only the first use of the `app` object. Asset loading, i18n,
gamesaves, and scene management are all planning on going through the
app object.

```lua
local app = require 'hawk/appication'

-- asset manager
app.manager

-- user preferences, simple key-value store
app.preferences

-- really needed?
app.gamesaves

-- configuration
app.configuration

-- configured i18n
app.i18n
```

In your src/app.lua

```lua
local app = require 'hawk/appication'
return app.new()
```