More fixes, tests, docs and refactoring

added: more tests with helper functions for tests as well
fixed: isTashkeel using undefined variable
edited: some functions refactored