More liberal handling of value in currency tag

If the value passed to the ``currency`` tag can't be converted to Decimal, assume 0 instead of raising an exception.

I ran into this as a side-effect of the session serialising/deserialising changes: ended up passing ``"None"`` instead of ``None``. I'm still trying to track down that bug in my code, but I feel the currency tag should just default to 0 in all error cases, as it does with None currently.