After about 32+ items, lists can sometimes go off screen. This commit
modifies the text based dropdowns loosely based off the code from the
image dropdowns. I've also added _dropdown_list_vertically to allow text
lists to continue to remain in an up-to-down format and images to remain
in a left-to-right format.
This commit expands tabs to spaces (ts=4) in all the files under src/
and test/.
Until now we had two wildly different code styles with C using tabs and
new C++ using spaces. It is painful to maintain as none of the commonly
used tools support this kind of setup and in reality is needless, as we
can simply convert all the sources to spaces and have opened PRs do the
same, where needed.
Additionally, trailing whitespace has been removed.