[Utils/Func] Added Func::memoize() and Func::hash().
[Utils/Func] Fixed Func::hash() to account for circular references and treat both notations of static method callbacks the same way.
[Utils/Func] Added tests for hash() and memoize().