adds mobile, drupal, and request api

Closes #666 :scream: 

Helper methods ported over wholesale with a few modifications. All tests ported over and were most helpful. :+1: for tests
I think we may want to replace `js:  true` with `:"data-integration" => true`.