Why there is no constraint on "Prover" in definition of $IP$?
There's nothing canonical for what constraint one might put on it. ​ Requiring complete efficiency would give BPP, since the algorithm can just simulate the whole interaction. ​ Requiring efficient-given-a-polynomial-length-string would give MA, since the prover could just send its string to the verifier. ​ It turns out that PSPACE is always enough, so letting the prover be at least that powerful yields the same class as not constraining the prover. ​ I suppose

things from TFUP to [CH given a polynomial-length string] might give intermediate classes.