I've made a 'plugin' that allows you to use WebSQL (more an implementation of it) in the WKWebView. It can be found here
https://github.com/ajwhiteway/WKWebSQL
import WKWebSQL
.
.
.
var webView = WKWebView(frame: view.frame, configuration: WKWebViewConfiguration())
WKWebSQL.LoadPlugin(webView)
To get it loaded into the page. Versioning isn't really supported at this time. Feel free to add it. This doesn't fix the local storage issue, is just an implementation of WebSQL that uses SQLite and WKWebView.
I recommend only on iOS 9+. In iOS 8 the javascript evaluation creates new contexts taht have to be garbage collected and will choke your app for memory.