Convert TypedArray's TypeName implementation to template specialization

This has the added advantage of compile-time error if you add a new type without adding the string, and gets rid of the runtime abort() / return "" please the compiler stuff.  I think for GCC it will produce the same code as before, I tested that it compiles on MSVC and I reckon it should produce either the same or better code.