This sounds like an ignition module that is going bad, which is pretty common on those engines. This would explain the RPM dropout, stalling, hesitation, etc.
Since you say the check engine light has come on before, I would highly recommend getting it scanned so you can see what codes are present. Even if the light is off now, there will be something stored from the previous time the light was on. This should help greatly in finding your problem, and most likely would end up being related to the ignition system or other ignition/fuel controlling sensor.
I've also seen crank sensors
cause quite a bit of similar problems like you are experiencing, but usually they are heat affected and once they act up, say after driving a while, it will usually take a significant cool down period before the car will restart. You don't seem to be having that issue, but you never know.