[PCB_DEBUG] Add StepOut support

The StepOut function allows to define where to stop in DEBUG mode, thus
allowing to execute up to a specified step and than block waiting for a
continue/repeat debug action.

To this purpose, the Step wrapper template has been extended to get a constant
non-type parameter which is used to identify the step being called and thus
making such an ID available to the PCB internal methods (i.e. CheckDebug) to
verify if the current step has been marked with a breakpoint (i.e. stepout).

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[PCB_DEBUG] Reset StepInto/Out on debug end

The steps IDs for step into and out are reset each time a debug session
is ended.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[PCB_DEBUG] Keep track of loop_start jump

The jump forward code which is available at the beginning of each loop
is reference by the loop_start label. This label is appended to the
steps jumps array for possible further usages.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[PCB_DEBUG] Keep track of steps count within base class

The PCB base class could be interested in knowing the number of steps
available in a Loop. This value is now saved into a protected local variable.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[PCB_DEBUG] Add DebugFrom support

A new API has been added to allow jumps straight to a specified step.
If the specified step is greater than the maximum allowed number, execution
resume from the first step.

NOTE: the specified step is executed and than DEBUG mode is entered.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
BP2 [PCB_DEBUG] Keep track of loop_start jump

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[Main] Add (disabled) program execution call

The program execution call has been added but it is keept disabled to
speed-up program build time testing.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[Makefile] Add testing targets

This adds a set of code generation profiling tests which are suitable to
evaluate the time required to generate code and build some reference
programs.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>