[EnforceRange] doesn't enforce range of a short

Handle Web IDL short / unsigned short types as per the
specification:
- http://www.w3.org/TR/WebIDL/#es-short
- http://www.w3.org/TR/WebIDL/#es-unsigned-short

Specifically, we used to treat short / unsigned short as 32bit
integers, which was wrong. We now properly handle them as 16bit
integers.

This CL is based on WebKit r158521:
http://trac.webkit.org/changeset/158521

R=haraken
TEST=js/dom/webidl-type-mapping.html

Review URL: https://codereview.chromium.org/54903014

git-svn-id: svn://svn.chromium.org/blink/trunk@161248 bbb929c8-8fbe-4397-9dbb-9b2b20218538