Make legacy FPPassManager more inheritable
Make it possible to inherit from the `FPPassManager` and override the
`runOnFunction` method. Also use the already virtual `getPassName` when
dumping the pass structure, so we get the correct name for subclasses.