Add module caching by using a cache manifest.

This cuts the startup time in half on all cached invocations.

Closes 13.