The granularity of animations was actually limited by bandwidth and dial-ups then commonly in use. There's a demo [1] for smooth animations for NS 3, achieving sub-animation by the image equivalent of 8-bit programmable character-set animation. But this would have been to heavy in load/bandwidth to be used for a full featured game.
DHTML came in August 1997 (NS 4.0 and layers) and would finally let you do you whatever you wanted (or rather, some of it). Also, both JavaScript and average machines had become a little faster by then (but there were a few surprise in JS 1.2, like minus zero).
[1] http://www.masswerk.at/JavaPac/legacy/JS-SmoothMaze.htm
[Edit:] A real issue with early browser games was the amount of available screen estate. Average screens were 12"@72dpi (640 × 480), leaving a quite small usable space when taking into account the space occupied by the task bar, the menu bar, the quite heavy window chrome of the browser, etc. (No way to squeeze a full featured Pac-Man layout into the remaining area.)
Before Netscape 3, there were some visual interactive games that were typically running in a textarea element as ASCII animations, since this was the only spacial element that could be directly manipulated by JS. I remember an Invaders game done this way, very much like http://www.masswerk.at/termlib/sample_invaders.html but in black on white in a textarea. (Another way to do animations was to write a new document into a frame, but this was too slow for interactive realtime games, aka "video games".)