Styling

This is a large PR that completely updates the styling, look and feel of Linz admin. It works great on tablet resolutions too. It also works on mobile, but some more improvements would be worthwhile.

Changes are as follows:

- [x] Provide the ability to insert custom CSS and JS into the admin screens
- [x] Move model labelling to be within the formtools DSL (`model.label`, `model.plural`)
- [x] Allow a description to be provided for the model and use this within the model index (`model.description`)
- [x] Models can be removed from the navigation by setting `model.hide` to true
- [x] Update the model index to show model title and descriptions
- [x] Create the infrastructure to automatically map grid, form, model and fields keys to a model when retrieving via linz.get('models')['modelName']

Could you please review this for me @sandytrinh?