VOProof: Efficient zkSNARKs from Vector Oracle Compilers