[JavaScript] added keyMap property
changed DOM structure
improved scrolling
added "useParserKeyMap" option
added "viewportMargin" option