Cross-environment support (Node and browser) and test; get Array.of/from to work in AMD Node too