[WIP] Basic animations, weak references and more.

More:
-Scheduler for updating animations
-New ctors for declarative items, removing items from their parents
-WindowItem
-...openGL.rectangle: after changig size, mesh will be updated draw()
method (size is changed from schedulder's thread, which doesn't have
OpenGL context)
-shared static contexts for SDL GUI application (cause by multiple
threads caused by schedulder)
-'const' modifiers for IResource
Removing call to png_close_file on uninitialized png_t.
Moving scheduler to dquick.algorithms.