Add node-specific implementation

Use the built-in functionality of Node ("Crypt" object) if it's available.
Update tests, and fix broken sha256.x2 implementation