Changed date parsing logic to work with Safari 5.1.3 and below

There's a couple problems with the existing date-parsing logic on old versions of Safari (5.1.3 and below, works fine in 5.1.7, not sure about versions in between):
* It can't do "yyyy-mm-dd" parsing and returns an invalid date
* Some versions of ECMAScript parse numbers that begin with a 0 as octals. We need to manually specify the radix when converting the number strings to integers or else "08" and "09" get parsed as 0. I suspect this was the cause of https://github.com/Shopify/shopify/issues/6111

I wanted to use a splat to make it `new Date innerText...` but coffeeScript compiled it strangely and the result was returning a string, not a Date. The month also needed to be decremented by 1 since it's 0-indexed. Since the grammar for the parser states that dates come in the format "yyyy-m(m)-d(d)" where the second month and date characters are optional, this fix should work.

There's already a unit test that hits date creation, and there's not really anything new to be tested with it since the javascript engine in node doesn't have this problem. I tested on Safari 5.0 in Browserstack.

@hornairs @kristianpd