I use Polar Bookshelf (getpolarized.io). It has nice, exportable, annotations as well as incremental reading and spaced repetition (via Anki) support. It's still a bit rough around the edges, but it has a very active pace of development and is open source.
It's not perfect yet, but it's the closest thing I've seen that has a chance of getting there.