Changes after review

1. No need to serialize the dirty flag in attribute locations.
2. Fix potential crash when dis-allowing picking.
3. Add TypedArray transfer workarounds for older versions of Firefox.