webcrypto: add AES and HMAC key generation

Use a SymKeyHandle to represent these keys internally. Add generateKey() and
GenerateKeyInternal() to do key generation. Add unit tests for AES key
generation, odd key lengths (non-multiple of 8 bit counts), HMAC key generation,
and HMAC key generation with no length supplied.

BUG=chromium:245025
TEST=unit,trybot

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227974 0039d316-1c4b-4281-b951-d872f2087c98
Hide touch selection cursor handle when out of client view

Selection handles are made hidden when they are out of client view. This
was not done for cursor handle. Other than fixing this, a check is added
to move the handles only when they're going to be visible. Since hiding
a handle fades it out, it is better to have this fade out in the
previous handle location which is inside the boundaries of the client
view.

BUG=289014

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227975 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 227975