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

  - this brings down the micro benchmark from 39s to 30s on iPhone 5
  - but it increases the generated code size
  - and I'm still unsure about the pressure it puts on L1 instruction cache