Allow Raphael to work in pages with a Content Security Policy that disallows 'unsafe-eval'.

Special case the Clone method to avoid using the Function constructor so Raphael works in pages with a Content Security Policy that disallows eval.

The input to this function is really only ever a function and and array, but unfortunately `typeof` or `instanceof` checks here won't work because the arrays will pass the same checks as the functions. Since the only special operation that's performed on the arrays is a `join`, I used that to detect whether to use a constructor or to fallback to a function literal.

The rest is just my editor stripping whitespace, which is probably a good thing anyways.