Use a ThreadLocal to pool the Cipher instances

Looks as if Cipher/getInstance is pretty slow. This speeds it up by a
factor of 12x or so.