did you look at the texture loading example in the examples pack on the first post? You need to rename your animations for textures to work, because Q3D needs to know what the texture is used for. Rename the first animation "DiffuseMap" as an example.
Q3DLight is already as optimized as it can be, it uses shaders in a forward renderer for all lighting calculations. The problem is likely the the iPad hardware isn't good enough, or the iPad is an older model which has poor webGL support / weaker hardware (I don't have one to test). 3D WebGL is very new and is getting better every month, but it's not perfect yet, especially on mobiles.
Lastly, the best option you have to try is probably to lower the resolution of the renders using Q3D Master if that's acceptable. IPad has a very high resolution screen even though it's hardware is bad, especially if its "retina", so you're probably trying to render a screen as big as some desktop displays. You can change the render resolution by first changing the layout property for "resolution" from "Auto" to "use size", and resizing the Q3D Object, or setting the resolution using the action "set resolution" if you want to enable a changeable resolution. In practice low resolutions make lighting faster as you need less of a gpu fill-rate for a given render.
Your only alternative if that is unacceptable or doesn't work is to bake lighting onto static objects or fake shadows some other way. Having many objects also slows down the lighting calculations significantly, so you have to make your scene simpler on mobile.
As far as i know, you're the first! If you press f12 and tell me what the console says, that could possibly help me sort out any errors. What browser / OS are you using? Again, WebGL is newer technology so it wont work on some older setups / out of date browsers / older hardware. It's a shame but it's the state of things atm.
to rule out if it's Q3D, could you tell me if any of these examples display?