added gitattributes; added comments to gitignore
simplified macro registration with reuse of global properties
cleaned and reordered C headers

Headers should have an include guard for multiple use.
uint8_t isn't standard, so stdint.h has to be included in OptimASS.h already.
Variable arguments (stdarg.h) are only used for libass functions and already included with libass.h.
stdio.h is unused.
trimmed code

Removed variables used just once immediately after definition or never -> garbage.
Shortened code parts for faster compilation.