Refactored particle and graphics; fixed minor error; moved game_restart.

The graphics systems interface previously required that several functions
specific to the particles extension were implemented. There were also
issues with turning off the extension for certain graphics systems.
To handle these issues, most of the handling was separated into
a callback system. Two features have been moved, including the
updating of particle systems, as well as the clearing of particle
effects after a room ends. The changes have been tested and verified
to work correctly.

The minor error was a refactoring in instance_planar.cpp which had
a couple of typos.

game_restart was moved from actions.h to roomsystem.h, and the change
was tested and verified to work correctly.

Fixes #224.