Created polyfill for EvenOdd winding rule.

There are browsers which do not support a winding rule param to fill,
clip and isPointInPath. This polyfill tests for it, and replaces the
methods so that they ignore the param in case of exceptions.

This allows not to catch the exception in canvas.js which would prevent
optimization by JS engines.

This fixes #5458
The standards does not specify GC behavior, but according to http://stackoverflow.com/a/19803948, the suggested usage would indeed prevent the closure from being freed.

Nevertheless, I still prefer to not polute prototypes with custom properties because of namespacing conflicts. You can solve the closure problem by explicitly voiding the values of the variables, `ctx = nulll;` etc.