>>Are there really any canvas implementations that don't support 2D?

Probably not....my research indicated that was best-practice for detection.