m: Added splat support for m() constructor

This change allows you to add additional nodes as arguments instead of an array to `m()`
e.g.

```js
m('div',
  m('span', 'side'),
  m('span', 'by side'),
  m('span', 'so pretty')
)
```

or CoffeeScript

```coffee
m 'div',
  m 'span', 'side'
  m 'span', 'by side'
  m 'span', 'so pretty'
```