Added caching strategy to prevent multiple require calls after a module has been loaded.  Currently only works for subsequent calls after initial load.  Next version will acommodate asynchronous loading.