initial code for plugin system
added license
renamed plugin interface name
added design document
updated readme