Refactor: Replaced surfacelist_t with C++ SurfaceSet

Also continued updating the DMU implementation so that it uses
de::MapElement.