mem_map: Updated interface to expose template functions to other modules.
Kernel: Added support for shared memory objects.

SharedMemory: Added optional name field for tracking known objects.
GSP: Fixed to use real shared memory object, various cleanups.

- Previously, used a hard-coded shared memory handle of 0x10002000 (as used by libctru homebrew)

GSP: Added name for shared memory.

GSP: Cleaned up assertion message.
Memory: Removed deprecated MapBlock_Shared function.
SharedMemory: Updated MapSharedMemory to use an enum for permissions.

- Also added some safety checks to MapSharedMemory.
Merge pull request #28 from bunnei/shared-memory

Shared memory - adds preliminary support for shared memory kernel objects and correct block mapping.