Make Hide/Show objects more dynamic

be on the look out for more static ids in the wild
unused constants are still included because a
script could be written to check whether the player
has picked up an item/fought a legendary etc.
Enumerate hide/show constants
A few static hide/show ids
Insert Crystal audio engine and music.
Crystal songs are used as an example.
Engine uses SRAM, so saving is broken.
No SFX yet.

Contains songs and engine modifications from CrystalComplete.
Add Yellow player/rival names.
Add a lot of Yellow text changes.
Fix typo in previous.
Better document the “can encounter Pokémon outside grass” code.

Pointed out by Lin.
Minor comment/label improvements in Cinnabar Lab.
Kill version.asm.
Add more from the beach house.
Fix Route 19 for Yellow.
More idioms.
More idioms.
Add the beach house tileset.
Modularize the beach house.
Fix a few more bugs in the beach house.
Replace hardcoded pointer with label.
Add a shifted person object on Route 19 in Yellow.
Add some Yellow text from the Safari Zone entrance.