Partial update to 0.6.4

Split source into separate files, made merge.bat to produce main file
Manually added master changes into the split source files
Some files updated to 0.6.4, (first line in any source file saying `// updated to 0.6.4` means it has been updated)
Desided to add static constructors
Put Control and TileLayer descendants into their respective submodules, but code will break if those classes put into separate files due to the compiler module-class shadowing issues.