Refactor: Surface is now a C++ map element, too

Surfaces aren't indexable in the DMU API, but they can still be
referenced via pointers, even publicly.