feat(logic/function/basic): surjective function is an epimorphism (#10691)
* Move proofs about `surjective`/`injective` and `epi`/`mono` to `logic.function.basic` (formulated in terms of injectivity of composition), make them universe polymorphic.
* drop `forall_iff_forall_surj`, use `function.surjective.forall` instead.