Added crossplatform_shared_ptr to allow shared_ptr cleanly on all architectures without needing variable namespace definition