Fix handling of 'on_load' attribute

The handling of functions appearing in an 'on_load' attribute was wrong.
Instead of considering the functions specified in these attributes as
escaping from the module and performing a full analysis starting from
them, the code just bypassed this analysis and only suppressed unused
warning messages for these functions. This worked for most of the cases
but resulted in functions (directly or indirectly) called by 'on_load'
functions being reported as not called by the module.

Such a case existed in the code of the 'crypto' application.

To solve these issues the initialization code for functions escaping
from the module was changed and the test for the on_load functionality
was appropriately extended.