Improve `String.prototype.startsWith` polyfill

This patch replaces the old `String.prototype.startsWith` polyfill with http://mths.be/startswith, while also adding the tests from that project.