demo/tunnel: use table in-place in ROM.

(This affects the table-in-ROM variant only.)

Previously, the ROM table was copied into SRAM before execution.  I did
this because the previous tunnel renderer produced pixels in raster
order, meaning it produced table lookups out of order -- so we rarely
hit the Flash cache.  Directly accessing the table in ROM meant we
couldn't quite keep up with rendering.

The new renderer accesses the table in-order and produces pixels
out-of-order.  Now the Flash cache can do its job.

As a result we save 30,000 bytes of RAM... just about enough for a
framebuffer....
demo/tunnel: halve framebuffers.

Remember how we're only having to store a quadrant's worth of trig and
reciprocal lookup tables, because the demo is radially symmetric?

While the rendered output is not *radially* symmetric because of the
quadrant shifts, it *is* laterally symmetric.  I've exploited that here
by rendering only the top half of the screen, and using a modified
rasterizer to mirror it onto the bottom.

This doesn't cut rendering *time* by half, exactly -- the rendering was
already taking advantage of the symmetry -- but it *does* cut our RAM
requirement in half.