Try to maintain underscan values correctly on reverted mode changes

On revert, we still have to use the current underscan values, not the old ones
Fix reference counting

Now that we re-use the scanout buffer instead of resizing on every mode
switch, fb_bo can == scanout.  in that situation the buffer could theoretically
be deleted by the first dereference.
Clear the scanout buffer on mode change

Underscan cropping could lead to strange video in the overscanned areas.
This should all be off screen, but it can be a distraction during testing.

Clearing the buffer on mode switch makes this look cleaner (though this may be masking a mixer setup bug...)