Use a mapfile instead of labels.json; better dependency handling for builds

instead of adding labels to globals.asm each time a file is preprocessed, leave it up to the project preprocessor. this saves up to 30 seconds on first compile for pokecrystal.

not sure if pokemontools/scan_includes.py being ported from pokecrystal means commits should be carried over