Another option is ScriptingRT. It's open source and fairly easy to use. The experiments are designed via a script language and then compiled into Flash apps.
ScriptingRT is designed to measure reaction time differences in the millisecond range. Schubert et al. (2013) report comparisons with other response time programs (e.g., DMDX, e-prime, Inquisit, see Studies 1 and 2).
The data suggest that measuring reaction times with ScriptingRT is associated with a little bit more noise than on lab computers. However it is sufficiently precise for the type of questions typically addressed in psychological experiments.
From Study 1:
the SDs of these responses stayed below 7 ms in all three browsers. That value is comparable to many regular keyboards and standard reaction time software. In addition, the constant added by measuring in ScriptingRT was about 60 ms. This result suggests that researchers using ScriptingRT should thus focus primarily on differences between RTs and be cautious when interpreting absolute latencies.
From Study 2:
ScriptingRT resulted in both longer response latencies and a larger standard deviation than all other packages except SuperLab and E-Prime in one configuration. Nevertheless, in absolute terms, the SD of 4.21 is comparable to what was standard for keyboards for a long time . It is thus clear that any test with ScriptingRT should be well powered and used to assess primarily paradigms with a large effect size.
Schubert, T.W., Murteira, C., Collins, E.C., Lopes, D. (2013). ScriptingRT: A software library for collecting response latencies in online studies of cognition. PLoS ONE 8: e67769. doi:10.1371/journal.pone.0067769