[feature] visibility control

@imlucas 
I think it might be helpful to enable users to control the visibility of fields. 
1. Added function `show` and `hide`.
2. Updated readme
3. reorganized the schema folder