Rewrite game console.

The game console is rewritten completely. Now it is split into
nexus.console, nexus.console.input, nexus.console.output, and
nexus.scene.console. The console can have only one instance all the
time, so nexus.scene.console.new() handles this automately. When the
console is active, some global functions would be hooked, and restored
when the console inactivate. Also, all the debug functions would be
active in debug mode and disabled in release mode. These functions
cannot be enabled at runtime.

[MOD] Move nexus.system.level to nexus.settings.level.
[MOD] Change the shortcut F4 to F9 to avoid key collision with
fullscreen.
[ENH] Rewrite the game console.
[FIX] Now nexus.scene.clear() will leave scenes correctly.