Use a loop in BookExtractorBase.correctURIs

Backbone.js uses recursion to process events; for correctURIs, this
causes a problem when the list of positions to fix is large (eventually
the call stack grows too long).

The fix is to add a loop in correctURIs that mimics the behaviour
resulting from the event processing, but in constant stack space.