tcg: Use hash table + static table for helpers.

This changes the registration of helper functions inside of TCG to:

- Use a GHashTable to store the map from helpers to function names.
- Move the helper registration from targets to tcg.
- Merge tcg_register_helper into tcg_context_init.

Note: this makes TCG more dependent on target helper.h headers, it
      adds significant coupling, but so be it.

Upstream 7c57df0d852a9a9faf9068ff235886c8b28b113e
Upstream 6e085f72c6d331fb0e9fc69e3061cd1e5893d9e4
Upstream 5cd8f6210f83db15702e81b91e40e7079608e6f3
Upstream 100b5e0170e86661aaf830869be930a1a201ed08
Upstream 84fd9dd3f78ced9d41e1160d43862bb620cb462a

Change-Id: Ie0877cf9a62451d89881e882d06d04456e5abe1b
8 files changed