This MR implements Migrate documentation to sphinx + breathe (#618).
API Changes and Justification
Backwards Compatible Changes
This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions
This change adds new classes/functions/structs/types to a public C header file or Python module
Backwards Incompatible Changes
This change modifies an existing class/function/struct/type definition in a public C header file or Python module
This change removes an existing class/function/struct/type from a public C header file or Python module
If any of the Backwards Incompatible check boxes are ticked please provide a justification why this change is necessary and why it needs to be done in a backwards incompatible way.
Please provide details on any reviews related to this change and and the associated reviewers.