Use a typed array (if supported) when decoding Base64 encoded tilemap

with typed arrays supposing to use less memory, this should help a bit
when loading/switching levels (assuming Base64 is used !)
Fixed tiny issues in the foreground layer