Been playing around with the <CANVAS> tag. Overall, it works pretty well. However, there was this little bit o’ joy: The transforms are all based on 32-bit floats. (See the WebKit code, e.g. translate, transform, &c.) Since 32-bit floats only give you 23 bits of mantissa, you have to be careful when working with very large domains.
Converting all your coordinates to be relative to your viewport origin (in 64-bit JS) seems to work OK, although it is a bit hacky.