Add ability for caller to specify loop type for ReconnectingWebSocket

- I believe there is a bug in Windows where using a
  requestAnimationFrame loop inside a content_script causes a Chrome
  memory leak.  This is NOT a leak in the JS Heap.  This leak does
  not occur on Mac (OS X).

  Bug reference here:

  https://code.google.com/p/chromium/issues/detail?id=425236

- Running TakeOver plugin with this change results in a non-leaking
  version in both Mac and Windows