Virtual pins handlers
Resolves https://github.com/arduino/ArduinoCore-avr/issues/1
defining alternative pin handling functions and respective triggers installed into pin functions
all changes wraped by #defines
alternative handlers require compilation with VIRTUAL_PINS defined
digital pin functions triggers require both VIRTUAL_PINS and VPINS_TRIGGER defined
eventually we can extend pin tables instead of installing the triggers
the pre-processor defines are only for testing purposes and provide an easy way of checking the impact by turning the feature on/off, after that we should remove them this does not break compatibility with non-avr cores, they could implement it at its own pace and if desired.
should I remove the testing #defines? they are only there for testing purposes. However if Arduino IDE allows compiler level defines they can remain as an option for user to include/exclude the functionality.