style(lib): add empty lines for readability
refactor(lib): simplify utils and utils unit tests
chore(jshint): remove indent rule to allow continuation indent to 4 spaces
refactor(lib): assume global object (root) is window
chore(jshint): add eqnull rule
refactor(lib): simplify library API and tests
docs(protocol|lib): fix typos and update documentation according to latest protocol and library