write error module

See #3.
add error unittest
upgrade error reporting

+ Add file, line and function info to error messages.
+ Fix checking if status in bounds.
+ Add convenience macros and rename enumeration constants just in case.

See #3.
add debug() macro and status, rename _error_helper() to eprintf()

See #3.
add assertions and error messages in draw.c

See #3.
add assertions and error messages in entity.c

See #3.
add error messages in module.c
add error messages in particle.c
add error messages in port.c
Merge branch 'error' into develop

Close #3.

* error:
  add error messages in port.c
  add error messages in particle.c
  add error messages in module.c
  add assertions and error messages in entity.c
  add assertions and error messages in draw.c
  add debug() macro and status, rename _error_helper() to eprintf()
  upgrade error reporting
  add error unittest
  write error module