Change enum input setup and validation
- input objects are normalized when node is created
- handle numerical values as keys (needed for Layers effect to work)
- additional unit tests
- enum output of "inputs()" is now a hash object, not an array