rework SetIcon: get and pass imageData to Chrome
rework SetIcon: get and pass imageData to Chrome

`loadImageAndSetIcon` is modified from the official version.

The official `extensions::setIcon.loadImagePath` allocs new `Image`
    and `<canvas>` instances and draws the image to canvas_context
  everytime `browserAction.setIcon path: ...` is called.
This version draws each image only once and save the bitmap data
  for future use.

gdh1995/vimium-plus,gdh1995/vimium-plus,gdh1995/vimium-plus