Defer test mode

This mode can be used to test loading filters one by one and asking for link resolution explicitly.  
This is mostly used to reproduce how sessions are build in more complex applications.  
  
The options `rl`, `pi`, `pl` and `pd` allow adressing a filter by index `F` in a list.  

- if the option is suffixed with an `x` (e.g. `rlx=`), `F=0` means the last filter in the list of filters in the session  
- otherwise, `F=0` means the last filter declared before the option  

  
The relink options `-rl` and `-rlx` always flush the session (run until no more tasks are scheduled).  
The last run can be omitted.  
  
Example
```
gpac -dl -np -i SRC reframer -g -rl -g inspect -g -rl
```
  
This will load SRC and reframer, print the graph (no connection), relink SRC, print the graph (connection to reframer), insert inspect, print the graph (no connection), relink reframer and run. No play event is sent here.  
Example
```
gpac -dl -np -i SRC reframer inspect:deep -g -rl=2 -g -rl -se
```
  
This will load SRC, reframer and inspect, print the graph (no connection), relink SRC, print the graph (connection to reframer), print the graph (no connection), relink reframer, send play and run.  
  
Linking can be done once filters are loaded, using the syntax `@F@SRC` or `@@F@SRC`:  

- `@F` indicates the destination filter using a 0-based index `F` starting from the last laoded filter, e.g. `@0` indicates the last loaded filter.  
- `@@F` indicates the target filter using a 0-based index `F` starting from the first laoded filter, e.g. `@@1` indicates the second loaded filter.  
- `@SRC`or `@@SRC`: same syntax as link directives  

Sources MUST be set before relinking outputs using (-rl)[].  
Example
```
gpac -dl -i SRC F1 F2 [...] @1@2 @0@2
```
  
This will set SRC as source to F1 and SRC as source to F2 after loading all filters.  
  
The following options are used in defer mode:  
  
<div markdown class="option">
<a id="dl">__-dl__</a>:        enable defer linking mode for step-by-step graph building tests  
</div>
<div markdown class="option">
<a id="np">__-np__</a>:        prevent play event from sinks  
</div>
<div markdown class="option">
<a id="rl[=F]">__-rl[=F]__</a> (string): relink outputs of filter `F` (default 1)  
</div>
<div markdown class="option">
<a id="wl[=F]">__-wl[=F]__</a> (string): same as `-rl` but does not flush session)  
</div>
<div markdown class="option">
<a id="pi=[+|-][F[:i]]">__-pi=[+|-][F[:i]]__</a> (string): print PID properties (all or of index `i`) of filter `F` (default 0)  

- if prefixed with `-`: only list PIDs  
- if prefixed with `+`: also print PID info  
</div>
  
<div markdown class="option">
<a id="pl=[+][F[:i]]@NAME">__-pl=[+][F[:i]]@NAME__</a> (string): probe filter chain from filter `F` (default 0) to the given filter `NAME`:  

- if prefixed with `+`: print all known chains and their priorities  
</div>
  
<div markdown class="option">
<a id="pd=[F[:i]]">__-pd=[F[:i]]__</a> (string): print possible PID destinations (all or of index `i`) of filter `F` (default 0)  
</div>
<div markdown class="option">
<a id="f">__-f__</a>:          flush session until no more tasks  
</div>
<div markdown class="option">
<a id="g">__-g__</a>:          print graph  
</div>
<div markdown class="option">
<a id="s">__-s__</a>:          print stats  
</div>
<div markdown class="option">
<a id="se">__-se__</a>:        send PLAY event from sinks (only done once)  
</div>
<div markdown class="option">
<a id="m">__-m__</a> (string): print message  
</div>