Change API for `OpcodeHandler`

Make `OpcodeHandler::run` call virtual method `OpcodeHandler::_run` (must be implemented in derived classes), so there is no need to invoke `OpcodeHandler::run` from instances of derived classes.

In short:

1. derived handlers should implement `OpcodeHandler::_run` instead of `OpcodeHandler::run`;

2. `OpcodeHandler::run` must not be invoked manually from derived classes anymore.

Related to #77