Split long lines
drawable: don't automatically add to cameras

Drawables used to be added to all cameras on construction. They were
also added to each new camera that was created.
ifstream: change a string argument to a reference
effect: change a C-style cast to a static_cast
activatable: avoid copies in do_in_context
Replace DevIL with stb_image

DevIL is no longer maintained, it requires initialization, and has a lot
of features that we aren't using.

In some cases it also fails to load textures without providing an error.

Resolves #75.
texture: fix set_contents event subscription logic
texture: clean up an unnecessary assignment