Added `with_metaclass`, a helper to unify the syntax of metaclasses