Refactoring route rendering

Added utility function render.model which enforces a
one-model-in-one-template-out flow. Refactored logic
for the home page into distinct model building functions
in a separate module.
Breaking up root model into separate functions

Using a router as our model loader. This lets us break up the
model loading into a function pipeline and string them together
easily!