This file is going to list out all demanding features for a generic Input Method Module.

Many to many 'stroke' to 'char string' relationship
- under imm a, you use the stroke sequence 'abc' to compose for a char string 
  '¦n' (for e.g.), it will be useful if we can query the compose stroke of this
  char string by another imm.
  On the other hand, we might want to input a char string by more than one 
  stroke sequence, for e.g., stroke seq. 'abc' and 'abd' will also compose the
  char string '¦n'.
  Both the facility should be customable by user.
- We can use '?' and '*' char to do wildcard completion. 
- Provide associate input function, im should memorize the input seq. of user
  after a fixed time of analysis, im should provide a list of char string which
  is used most.
- tab file can used to control certain things, including :
  Key for input as a stroke, stroke name
  Always show charstring matching
  Use explicity endkey (e.g. ' ') to commit chars
  Use explicity select key to commit chars
  Auto commit chars when certain criteria met
  Max number stroke for each input
  
