word based AES encryption/decryption
derived from https://code.google.com/p/crypto-js/source/browse/tags/3.1.2/src/aes.js