Extensible html parsing strategies

Hey there

I don't know if this is of any interest to pull in.
I needed to pull out metadata from documents where they aren't always compliant to OpenGraph. This is a great start though so I decided to use it but add some fallback parsing strategies.

I'm happy to use it from my fork, but if you'd like to pull it across I'm also happy to tweak the implementation.