[TABLE] Make table_set_cell_data() more tolerant.

We now allow MC_TABLECELL::fMask to use (MC_TCMF_TEXT | MC_TCMF_VALUE) but
then at least one of its members (pszText or hValue) must be NULL.
[TABLE] Add user data (LPARAM) into the MC_TABLECELL structure.
[TREELIST] Optimize treelist_get_dispinfo().

We save few comparison instructions if some MC_NMTLDISPINFO members
are needed. (If they are not we can just do a bogus assignment of those
members as it does not hurt anybody).
[GRID] Optimize grid_paint() to paint only cells on the visible area.
[Grid] Core of the support for virtual table.

 * Style MC_GS_OWNERDATA.
 * Notification MC_GN_GETDISPNFO.
 * Added example examples/ex_grid2.c.