runtime: Check for SharedByteArray instance leaks

If _LLIBY_CHECK_LEAKS is defined then keep a global count of live
SharedByteArray instances. If there are live instances on exit then exit
with -1 as we do with leaked cells.
frontend: Locate syntax rules more precisely

Previously the (define-syntax) was used for the location of a syntax
rule parse error. Instead, use the location of the syntax rule itself