Allow passing in external buffers to svp's VirtualDevice.

We also want to be able to set whether or not the buffers
should be painted to top down, so add that parameter
as necessary (default seems to be false, however e.g. gtk
requires this to be true, i.e. needed for tiled rendering).

Change-Id: Id98882e4c7f62508ae5a976c0d8df743460a4ab2
Use external buffer for LibLO tiled rendering.

Means we can get rid of hackily storing a reference to the last
buffer we created.

Change-Id: I8092a7d87bc391301f75651a59b37fbd73ac64fd
Upgrade gtktiledviewer to use its own buffer.

Change-Id: I3f567ff19ee0d5b0d54aeef9b163b78567d72946