use an array instead of a list for global symbol list

- significantly speeds up library creation

- slist_reset is still extremely expensive
In case this question comes up, no using Array<Symbol *> is not measurable faster.
This is because realloc already does implement a decent growth policy.