don't save derived attributes
convert some arrays to collections
introduce ClassFileElement/ClassReaderContext and retrofit constantpool
further remove redundant field: magic string