Clean up element factories (can just use java 8 method refs)
Add caching of current window handle

I'm not really crazy about this implementation. It seems messy and error
prone. Eventually this should probably be refactored.