Exposed the margins as a collection.
Added a background updater for lines to get them cached as soon as reasonable during the idle loop.