make vba emulator wait until text is done drawing

Also, this fixes some bugs related to how button presses are handled.
programmatic speedrun of pokecrystal (vba)
Merge pull request #147 from yenatch/master

gbz80disasm/sym fixes + odds and ends
updated install instructions
make clean is no longer required to compile
preprocess asm files individually

this fixes a lot of previous hacks

first off, rgbds requires that labels from includes be marked as globals.
instead, 3626ddeb stuffed includes into the parent file in the preprocessor.
this meant one huge file got preprocessed every time, adding an additional
ten seconds to compile time.

running the preprocessor once for each file would create too much overhead,
so a list is fed into prequeue.py, which then makes calls to preprocessor.py.

this paves the way for compiling source files separately some day.

next, compiling previously required `make clean` to be executed first.
f3340de6 touched main.asm to force a fresh compile instead. this behavior
has been reverted. now, `make all` will only attempt to recompile if a
source file has changed.

preprocessor.py has some marginal changes. prequeue.py is created to keep
the original functionality of preprocessor.py intact. so many files are
preprocessed on first compile (1951 as of this commit) that the prequeue
call has been hidden.

compile time is reduced to 15-30 seconds on first compile, and 5-10 seconds
subsequently. the majority of this time is spent in rgbasm.
make: don't recompile if it's not necessary

the preprocessor queue was preventing files from being recognized as out-of-date

this highlights similar errors with graphics targets, which need to be fixed anyway
update instructions in extras/vba.py
fixes #151 fixes #150
Made edits to docstrings in extras/vba.py
Added to vba intructions and reformatted docstrings to include a summary
line. (Docstring summaries should be max 72 characters.)
Edit some docstrings in /extras.
Change bad indents in extras/gfx.py
more gfx.py docstring changes
more docstring/indent fixes in gfx.py
convert indents to 4 spaces in gfx.py

indents were previously 8 spaces
fixed indents
fixed another indent in gfx.py
gbz80disasm: data detection

the is_data flag never did anything. now it does

encountering the end of a branch with outstanding labels will read anything between said labels as data
gbz80disasm: detect data tables referenced in asm
gbz80disasm: local/global address conversion + fix find_label
gbz80disasm: fix data handling

get the scalpel out of there