DEV: Absorb onebox gem into core (PR #12979)

Work in progress.


CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
2 out of 3 committers have signed the CLA.

:white_check_mark: techAPJ
:white_check_mark: CvX
:x: jbrw
You have signed the CLA already but the status is still pending? Let us recheck it.

cc: @jbrw :grinning_face_with_smiling_eyes:

The title of this pull request changed from “Move onebox gem in core library” to "DEV: Absorb onebox gem into core

This is way too much code to review, but it looks like a standard copy/paste from onebox for the most part, which I believe has been reviewed thoroughly already.