Use const parameters for rectangle functions.
winm: Report errors if event-sending failed.
guishell: Don't repaint in resizeTo().
Alloc window-buffer on creation-response, not at construction.
Made std::vector ready for non-PODs.
Let winmanager do copy of paint-buffer to VESA-mem (fixes #6)

This solves the problem of the paint-order which existed before
because the winmanager just sent events to the applications and asked
them to do the copy. Of course, the order depends on the scheduling in
this case, so that it might be wrong.

Now, the winmanager creates a shared memory region for each window and
the application maps that in as well, so that the application can
directly paint in this region and ask winmanager to copy a specified
portion of that to the VESA memory. This does of course mean that we
have to recreate the shared memory region on every resize operation, but
since we have the preview-rectangle-concept, it doesn't really hurt.
Added a recursive print method to the UI elements.
Bugfix: flag VFS_EXCLUSIVE was missing in vfs_openFile.
Bugfix: don't touch node-data before ensuring node is alive.
Added TODO
Bugfix in std::string::erase()
Made recursive print optional for UIElement::print().
Introduced dirty-flag and handled lost updates.

That is, every UIElement has a dirty flag and only if it is set,
repaint() has an effect. This relieves the user from thinking
about whether it is called too often and thus prevents useless
repaints. Additionally, it makes it easier for controls to track
whether something has changed (like Editable).

To prevent repaints during updates, we simply disabling them
during that time and if someone tries, note it and do a repaint
as soon as we've got the response from the update.
Added make_lambda to Functors.
Changed gpos_t and gsize_t to word-size.

It doesn't make any sense to use shorts here. Not only that
manipulating words is typically faster, but using shorts does
also limit the control size (which is a problem when a control
is large but scrollable).
Don't use IO_EXCLUSIVE for window shm.
Fixed license header.
Let layout() return whether something changed.
Improved error message.
Fixed painting and improved ScrollPane.

There we're multiple errors that lead to painting on other
controls: getContentSize() was the wrong approach and the
checks in Graphics were partially wrong.
Additionally, the ScrollPane has a richer interface now.