"batteries included" for core library interface is a terrible idea. it just means that when I *really* start using your library I have to repeatedly pay a cost of "taking out" the "batteries" by passing in options and setting flags (which, hopefully, are available).
I like better the idea of having an "easy" interface on top to do that: I still have to pay the tax of switching to the core once I'm trying to build my own thing on top, but I only have to pay that cost once for as long as I'm using the library because I'll know the core interface in the future.