Support nested seqs in tag contents/children

Please advise if the following change is of interest to you:

Modified to allow the following:

[:parent-tag {...}
  (([:tag1] [:tag2])
   [:tag3])]

to be equivalent to

[:parent-tag {...} [:tag1] [:tag2] [:tag3]]

This is useful when building up data from various functions where you don't want to wrap children in [:div] or flatten/concatenate lists at each stage. This is consistent with behaviour in crate and hiccup. Effectively seqs (not vectors) are looked-through for elements that can be rendered.

I added this because, when I tried dommy, I already had code that failed without it.

Timing for me indicates that this may be faster than the special case with mapcat in the current version. Please verify for yourselves.

Also:
- added minor change to slice removing "non-compliant" js/Array.prototype.slice
- change protocol extension on js/String to string.
   - js/String did not work as an extension of PElement when I used this (please test/validate also).