Simplify and generalize AES256-CTR code

I've done a once over of the AES256-CTR code and implemented some changes. There's really no good reason as to why the input should be limited to 16-byte chunks. Also, the AES key schedule does not need to be called on every operation, probably saving quite some time.
Note: Since I don't have any AVR hardware handy, this is completely untested and might not even compile ;)