Mappings

Picking up where #1374 (inadvertently) left off. Very WIP, definitely not ready for merge.
@Rich-Harris that's actually counterproductive - using `this` will result in smaller file after gzip compression. See https://code.google.com/p/closure-compiler/wiki/FAQ#Closure_Compiler_inlined_all_my_strings,_which_made_my_code_size