Decouple the static asset root from the web root.

Currently, static assets must be served from the same directory root as dispatched urls. This feature decouples the roots so that we can create certain virtual folders in vanilla that make the application behave differently depending on the folder.