V1 of o-overlay

Although we didn't standardise this, where a module's init function takes an element and an options object, I think it probably makes sense to have the element first.