Add reversing; fix selection of next glyph

I believe that the previous version was selecting the nearest glyph which
*ended* where the previous glyph *started*. I think I have fixed this.
A little debugging code`
Comment out debugging.

Note the motorcycle is not a good test piece; it consists almost entirely of
circles, which are immune to fancy optimizations. Try the map instead.
Fix output of reversed instructions
Updated drawings
Add test of reordering, plus refactor to support it
Merge branch 'reversing'

Conflicts:
	process.py