Add support for virtual inheritance + tests

SOAAP's callgraph analysis can now understand virtual inheritance, as per the
C++ ABI found here: https://mentorembedded.github.io/cxx-abi/abi.html

Our algorithm has the limitation that it can only handle at most one virtual
base on any depth-first traversal of the class hierarchy.