Use ArrayBuffer if the navigator is compatible

Fix for devices with backingStorePixelRatio != 1
Use ArrayBuffer if the navigator is compatible