Implement two methods for getting and setting text caret position in editable fields

 - void WebPageProxy::setCaretPosition(const WebCore::IntPoint&);
 - void WebPageProxy::getCaretPosition(WebCore::IntRect&);
Extend the hit test result to support more functionality in WebKit2

Add enumerations for more information
 - HitTestResultContext (Document, Link, Image, Media, Selection, Editable,
         Text, DragSupport)
 - HitTestMode (Default, NodeData, ImageData)