GRIM/EMI: Count pause/unpause calls of LUA scripts

Scripts that have explicitly been paused must not be resumed when
pause_scripts and unpause_scripts are called, e.g. when opening the
inventory, pausing the game or changing sets.

This patch splits the existing paused flag in two separate ones:
 - LState::all_paused is controlled by pause/unpause_scripts (plural)
 - LState::paused is controlled by pause/unpause_script (singular)

For compatibility with Grim savegames both flags are stored in a single
byte, with bit 0 having the same meaning as the former boolean.
GRIM/EMI: Stop frame time while debugger is open.
EMI/GRIM: Handle normal mode and draw mode in separate virtual methods.
EMI: Improve pause handling

Both EMI and Grim call RenderModeUser when entering the menus or dialogs,
but EMI does not use special "blast" commands to display text or images,
so we cannot suspend regular screen updates. The current implementation
does not switch engine modes in RenderModeUser, which has the drawback
that the frame time is not stopped during pause or menu.

With this patch, EMI handles draw mode like normal mode with frozen frame
time.