Updated debug module

Drastically improves the usability of the debug functions and
organisation of debugging.

A debug "handler" is registered on script init for each module using
"sif_debug_register_handler". The returned handle ID is then used in the
debug functions. This allows a single script's debug level to be set so
you only see debug information for that script.

An interface function allows searching of debug handlers by name, not a
very good algorithm yet though. Will be improved.
Updated debugs, improved item code

Debugging code updated for Button and Item.

Item interaction abstracted to separate functions. Purely for
organisation with return values etc (things that cancel interaction are
in separate checks instead of big "if-or" lines)

Idle animation check moved to "SIF/Core". I should probably make a utils
module for these helper functions.

Fixed some mistyped ALS hooks that were missing a return.
Improved error prints in ItemArrayData