Add minimal windowmanager with bugs.

Add a small test that gives mousepad problems if 3
windows are started.
Fixed small bug regarding window event handling when destroying
windows. Extracted the resize function and forced a resize of all
windows when a window is destroyed.

Signed-off-by: Martin Jorn Rogalla <martin@martinrogalla.com>
Add structure for storing and drawing windows.

A test for a javascript Container class. Tiling
in different containers seems to work, it is now
hardcoded that the second window gets turned into
a vertical container after creation so that you
can test the functionality a bit.
Launch a json list of programs at startup.

In the file startup.json you can list programs that
should start when the window manager is booted.
Load root window size from struct.

The root window size is not hardcoded to 800x600
anymore.
Load shortkeys from file and use them.

A json file defines the available shortkeys in
a bit of arcane format but for now it's still
better than having it hardcoded.
Match event types on name instead of number.

This makes the code a bit more readable and if it's
a significant performance issue we'll change it back
later.
Merge branch 'master' into harmjan-test