Прежде всего, я действительно считаю, что вы должны использовать bindAsEventListener при привязке функций в качестве прослушивателей событий. Делая это, вы получаете доступ к аргументам события. Возможно, вам понадобится позже.
В вашем случае первое, что я заметил, это то, что ваш sendActiveSignal объявлен как член вашего класса IdleMonitor. Движок JS не найдет его, если вы просто вызовете его по parent.sendActiveSignal, так как я предполагаю, что parent не является экземпляром IdleMonitor. (И это не так, я могу сказать прямо сейчас:])
Внутри вашего iframe вам нужно получить доступ к переменной idleMonitor, и вы можете сделать это, сославшись на нее следующим образом:
<script type="text/javascript">
Element.observe(window, "mousemove", function(p) { parent.document.idleMonitor.sendActiveSignal(); });
</script>
Это должно сработать, я не могу сейчас это проверить.