obj itself does not have a file size limit since it's an ascii format ( pure text ).
means also that you may face some issues in performance compared to a binary format such as fbx. but I like obj a lot and use it extensively.
mtl supports mostly :
I'd not really use it for other things. Not perfectly sure if even bump maps and normal maps and such are supported. would have to check in the obj specification.
WebGL scenes are can handle large amounts of geometries, but rather for offline use. Rule of thumb : don't go over 30 MB (!!!) .3ws zipped file, since it takes a lot of time to download for other people.
let me know if you have more questions !