Move date coercion to #to_date

Contains the changes made in https://github.com/Shopify/liquid/pull/350 without the `Time.zone` support.

Cleans up the `date` filter and makes reusing the coercion logic in monkey-patches a lot easier.

Ping @fw42 & @dylanahsmith