drm/nouveau: port remainder of drm code, and rip out compat layer