Optimise backbuffer; fix ancient opt bugs

There was a bug in the next_item() inline function which dates back to some
erased history where no 'items' existed but optimisation was row/
column-based, i.e. 'mask' must not be shifted by 2 but by 1 now.

Additionally, tgfb_opt_pollute() did not multiply the 0xff byte count to
write by sizeof(unsigned long) which led to undefined values instead of
dirty ones.

These obstacles out of the way, the backbuffer mechanism is now fully
functional, i.e. on tgfb_out_begin(), the backbuffer is updated from the
delta to the framebuffer, then manipulated and on tgfb_out_end(), the delta
from the backbuffer is again copied to the framebuffer.

The output->sync callback vanished. This is now done automatically and since
the backbuffer and framebuffer are transparently updated to match each other
there is absolutely no use for this functionality.