Grouping/sorting in `obsidian.d.ts`

Currently, it seems the typings are generated in very random order

interface SVGElement extends Element
function isBoolean(obj: any): obj is boolean;
function fish(selector: string): HTMLElement | null;
function fishAll(selector: string): HTMLElement[];
interface Element extends Node

that makes the discoverability of the API more difficult

I suggest to add some natural grouping/sorting, like

variables/fields → functions → types → interfaces/classes
and it each group sort alphabetically