Credit for this answer goes to devgeeks who pointed me to a couple of his plugins, MapKit and VolumeSlider, that mix in native elements with cordova web view.
The key is to overwrite the initWithWebView
method:
-(CDVPlugin*) initWithWebView:(UIWebView*)theWebView
{
self = (VolumeSlider*)[super initWithWebView:theWebView];
return self;
}
Now inside the plugin you can obtain a reference to the view controller behind cordova web view and add to it whatever your heart desire.
[self.webView.superview addSubview:mpCustomView];
This is cool becuase you can control the zPosition of any views you add with respect to the webView. So you can put views above or below the web view.