Allow configurable resource paths for embedded scenarios.

When Mono is embedded the standard Resources and Frameworks paths may not apply. In fact, BasePath may be null which causes the original code to throw. This feature sets up the default Resources and Frameworks paths as they were before but also provides some reasonable fallbacks and allows them to be manually configured by the runtime host.