decode: accept annotation rows for -A specs
Extend the logic which parses -A annotation selection specs. Lookup
annotation classes first for backwards compatibility. Then lookup rows
when classes don't match.
Users can mix classes and rows in -A specs as they like. This is a
convenience feature, to eliminate the tedium of spelling out many
classes when a row is to be shown. Which is useful to only see the
"summary", the uppermost protocol layer within a protocol decoder, while
the individual bits on lower layers of that same protocol decoder are
not of interest. It's more accessible to specify
-A ir_rc5=fields
-A ac97=slots-out
-A i2c=addr-data
instead of
-A ir_rc5=startbit1:startbit2:togglebit-0:togglebit-1:address:command
-A ac97=slot-out-tag:slot-out-cmd-addr:slot-out-cmd-data:slot-out-03:slot-out-04:slot-out-05:slot-out-06:slot-out-07:slot-out-08:slot-out-09:slot-out-10:slot-out-11:slot-out-io-ctrl
-A i2c=start:repeat-start:stop:ack:nack:address-read:address-write:data-read:data-write
As an additional benefit row specs remain stable across decoder updates
which introduce new annotation classes on existing rows.