input: don't keep separate sections for builtin key bindings

Instead mark individual key bindings as builtin.

Not sure whether this is conceptually simpler or more complicated.
For one, it requires the annoying remove_binds() function to wipe
existing bindings instead of just killing the section, on the other
hand it gets rid of almost all special handling of builtin vs. normal
sections.
input: keep number of keys, instead of using 0-termination
input: store number of binds instead of 0 termination
command: add commands to enable/disable input sections

For testing, and I can probably get rid of the Lua special functions
which bind this.

Also might allow to create key binding state machines, but IMHO this
sounds like a rather bad idea. (But we'll see?)
manpage: document input sections
lua: export track list

Does a relatively complete dump of track information into a Lua table.
The table pretty much reflects the mpv internal track list. It's an
array of tables, where each table represents a track. The track has
fields for various things.

E.g. you could track type and id of each track with:

local tracks = mp.get_track_list()
for i = 1, #tracks do
    print(tracks[i].type, tracks[i].id)
end

"type" will be "video"/"audio"/"sub". "id" is the number passed to the
-vid/-aid/-sid options.