The great flake8 update.

Running flake8 showed a couple of serious issues (e.g. wrong variable
name, that kind of thing) that had managed to sneak in while I wasn't
testing.

It also found a lot of places where readability could be improved by
following along with PEP8 a little closer (e.g. two blank lines before
class or top-level function definitions), and so most of this commit is
whitespace fuckery. Nevertheless, it's a definite improvement.
Turns out OrderedSetItem had the wrong order.

Also, added another useful method to the OrderedSet to return an
OrderedSetItem if you want one (to obtain, e.g. the prev and/or next
element, given a known element of the set).
Let parent override child's console on register
blit_2x works at _half_-character resolution.
Clear labels' background when rendering.

This lets Labels look better in Lists, where they can colour their
entire rect in the active_colors background.
Offset List children's placement.

List creates a sub-console to render its children in -- the children
therefore need to believe they are being rendered at position (0,0)
inside the sub-console. We can most easily do this by offsetting their
placement so that it cancels out the List's placement origin.
libtcod.console_new(0, 0) is stupid.

Since the Python wrapper is utterly useless at actually raising errors
(and libtcod itself just returns an "error" value of 0), it was quite
surprising to discover that a certain sub_console wasn't resizable
because it was the root console. Which has id 0. Which is the "error"
value returned from console_new.

Thanks, libtcod. I really needed that.
Make List handle the up and down arrow keys.
Make the thing runnable again.