Draw lib

The start of a drawing library using Xlib as discussed in issue #39. Includes a couple examples of use. Also included, some miscellaneous fixes.

You may see there are 55 commits in this PR, and that a lot of them are old/random. This is due to the fact that this PR comes off my dev-tom branch which usually isn't merged directly into maxime/master. Usually I do dev-tom (squash)-> tom/master -> maxime/master. As a result there is a backlog of stuff git thinks hasn't been merged but actually has.

I'm trying to change the work-flow instead to dev-tom-> feature specific branch -> maxime/master & tom/master. This will make it easier for me to send you PRs which contain only a small specific set of changes, that way you can accept feature Y but not X if you want, and will ensure my master branch never gets ahead of maxime/master.