Ensure objects used as maps properly check for key existence.

Objects can be dangerous to use as maps for arbitrary strings as a string might be one of the methods on Object.prototype. This is illustrated by https://github.com/Rich-Harris/esperanto/issues/21.

This mitigates the issue by calling hasOwnProperty to check existence before using a value from an Object used as a Map.

Also includes a test which fails before the diff.
Merge pull request #22 from leebyron/obj-as-map

Ensure objects used as maps properly check for key existence.
-> 0.4.9
update demo
Update NPM dependencies.

Most relevant is updating acorn from v9 to v11 which improves ES6 coverage.

Parser behavior changes affected test cases, so fixed those up.
Merge pull request #23 from leebyron/update-deps

Update NPM dependencies.
fix deprecation warning
Merge branch 'master' of https://github.com/Rich-Harris/esperanto
-> 0.4.10
update acorn version on demo site