feat(overlay): add new mixin .make-overlay()

As the current offcanvas overlay is likely to be used in other places
as well, we're moving it to a separate mixin, with an optional position
argument.