Parent task for Python API topics that need to be addressed before 2.80 can be released:
* Draw API
** `gpu.select`has no useful documentation. - can it be removed?
** GPUShader is spread out between types and shader pages. Do we really need `gpu.shader` or could we just do something like `gpu.types.GPUShader.FromBuiltin(...)`? - Who decides that?
** `gpu.matrix` is usable and documented but the benefit of using it instead of just setting the matrices directly when using builtin shaders is often unclear. I think many functions can be removed (like `reset`, `pop`, `pop_projection`, `push`, `push_projection`). For other functions the name could be changed (e.g. `multiply_matrix` and `load_matrix` are too generic names) - Who decides that?
** `batch_from_shader`: add it to `gpu` instead of `gpu_extras`? - Who decides that?
* Tools and Gizmo API
** No API documentation yet.
* Depsgraph API:
** Missing API to export objects at render resolution. Needs function to get/clear render resolution depsgraph for a scene and view layer?
** Missing docs explaining how the new depsgraph and COW affect Python scripts.
** Scene update pre/post handlers: add back, but only run when active depsgraph actually changed?
* Scenes and Objects API:
** Missing docs:
*** [X] Working with collections.
** Missings examples:
***  Object mode operator working on selected, visible, editable objects
***  Mesh edit mode operator working on multiple objects.
** Too difficult to set new collection as active: https://devtalk.blender.org/t/set-active-collection/2409
* Example code
**  Verify API docs example still work
**  Broken text editor Python templates: Operator Mesh UV, Operator Modal Draw, Operator Modal View3D Raycast, UI Tool Simple
* [X] Hide bundled addons not updated to 2.8? rBa421cfa8d31d85c9e855788c25de4f37ef10ab34
** It's confusing to have them show in the list, and throw and error when you try to enable them.
** Some might never get updated.
** User installed addons could still show