Refactor: Surface owner is a map element

Replacing the use of void* with the new, safer de::MapElement.