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
  
