wip -- this commit adds an aligned fast path for user buffers:

  - this brings down the micro benchmark from 39s to 30s on iPhone 5
  - on iPhone 5s, the micro benchmark stays at 17s which makes me conclude 5s
    doesn't care about unaligned loads/stores
  - but it increases the generated code size
  - and I'm still unsure about the pressure it puts on L1 instruction cache nor
    how to measure it