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.