Add infrastructure for shared reference assemblies.

- ACR_AssemblyLoader, executed before any other CLR scripts, sets
  up an AssemblyResolve event handler that attempts to resolve an
  unresolved assembly reference against a known assembly cache.

  The ACR_OnModuleLoad() event calls the ACR_AssemblyLoader script
  to initialize.  The assembly resolve handling is placed in its
  own script so that other scripts are free to (at any time, even
  in their main class object type) reference implicitly a shared
  assembly.

- The known assembly cache is prepopulated by binary assembly files
  that are attached as resources to ACR_AssemblyLoader.dll.  This
  eliminates the need for another extra .dll in the NWNX4 directory
  that must be kept in sync with the ACR hak.

- An initial shared assembly, ALFA.Shared.dll, is added.  Other
  assemblies can take an implicit reference on this assembly which
  is now expected to "just work", thanks to the AssemblyResolve
  behavior instituted by ACR_AssemblyLoader.