Enforce virgilio only to accept named module functions

Virgilio now accepts modules without a named function constructor, this can lead to unexpected behaviour, I enforced the loadModule$ function only to accept named functions. Added a test scenario also.