Fix surface/view handling for test-surface
Of all the implementations, test-surface should probably be the most scrupulously correct in handling surface/view behaviour. Unfortunately it isn't, which is OK because it's only used in limited circumstances right now, but fixing it seems like a good idea.
This makes sure that we correctly unmap when we commit a NULL buffer, and also use the new weston_view
helpers rather than manual manipulation.
This is based on !1286 (merged) purely because of the top commit which builds on the paint-node test; that commit can cleanly be squashed depending on which MR lands first.