Rewrite missing images in terms of screens and styles.

This makes it possible to customize the missing image indicator,
which is useful if it conflicts with the background of the game.
Initial implementation of autoreload.

This is a feature that scans for changes in file existence and times.
If a file changes, this triggers a restart of Ren'Py, reloading the
script and game.
Avoid reinitializing the pygame window on Ren'Py reload.

This provides for a smoother reload process, by avoiding the window
disappearing and reappearing, potentially changing place and causing
focus issues.
On windows, use ctypes to check if we should enter safe mode.

Fixes #316. It looks like using pygame to detect keypresses on an
unmapped window is now broken, perhaps since the most recent
pygame upgrade.
Protect the safe mode stuff with a try/except.

It does some wierd direct keyboard access stuff that might change
in future versions of windows or linux, so this seems like a
reasonable bit of paranoia.
Make shift+R toggle autoreload.

There's also an indicator, although its look needs to be revised.
Adjust times for children of tranformed layers.

If we don't do this, the children will be shown at the timebase
of the layer at_list, which cause huge problems if the children
themselves are being transformed.
Prefer main_menu to renpy.context()._main_menu.