Handle actors in newly-created TaigaActorList.

This is done as part of an effort to break up the monolithic TaigaState,
which handled most of the game engine's functionality until this point.
Rename some functions for TaigaLayer and TaigaLayerList.

draw() becomes draw_entries(), resize() becomes set_layercount(),
and add_entry() becomes add(). Users will soon have to interact
directly with a TaigaLayerList to do rendering, and these names
are much more clear as to what they do.
Split rendering functionality from TaigaState.

Users now directly interact with a TaigaLayerList called canvas,
which will directly new TaigaDrawers via TaigaLayerList::add()
Remove TaigaActor::state

It is no longer used nor set anywhere.
Bring actor iteration API for actors in line with TaigaActorList

Rename first_actor() to first() and next_actor() to next(), and
ensure a default class type of TaigaActor when calling with no
type parameters.
Fix memory leak in TaigaActorList::tick()

When removing an actor from TaigaActorList::list, the actual actor
never gets deleted, resulting in a memory leak. This is now fixed.
Add display_width() and display_height()

These functions make it easier to find out the dimensions of
the current display, which actually needs to be done fairly
often in even some of the most simple games.