WIP: main/mkdtboimg: add Android's tool for building dtbo images
The Pixel 3 XL has a dtbo partition, where device tree overlay files are stored in a special container. This container is built with "mkdtimg" (C implementation) or "mkdtboimg" (Python implementation), both available in AOSP.
We currently avoid building DTBO images for Pixel 3 XL, since the stock firmware's DTBO partition works with the downstream kernel.
However, the stock firmware's dtbo isn't suitable for a mainline kernel, so any mainline port will need a custom dtbo file.
I've packaged the Python implementation of mkdtboimg from AOSP so dtbo images can be generated.
I've mirrored the libufdt source on my own account (https://gitlab.com/zhuowei/android-mkdtimg/blob/master/utils/src/mkdtboimg.py), since AOSP doesn't provide tar downloads (as far as I can tell), and LineageOS doesn't have a GitHub mirror of libufdt.
Originally, I just included the script directly in the aports repo (it's just one file), but the CI didn't like it.
Currently, nothing uses this. For mainlining google-crosshatch, I'll need a custom dtbo partition, which this utility can build.