Implement immediate opcodes

Each Scene object contains a list of opcodes that represent the
content in that scene.  By default we move forward through that list
based on user input, i.e. when the user presses Enter we process the
current opcode in the list, execute its associated instruction, and
increment the index in that opcode list.

However, there are situations where we want to deal with an opcode
immediately and without requiring user input.  An example is the
opcode ’set-character-name’.  We should not require the user to press
any key in order for that opcode to take effect.  Instead we should
process it immediately.

This patch introduces the concept of ’immediate opcodes’.  All such
opcodes are listed in a new table: ImmediateOpcodes.  And all Opcode
objects have an ‘immediate’ boolean property which is set based on
whether or not the opcode appears in the aforementioned table.

The default handler for scenes, i.e. Scene.DefaultHandler(), now
performs its logic in a loop, handling all opcodes and not returning
until it finds one that has a false ’immediate’ property.

Traq-Ticket: 27