refactor(parser) abstract parser

Parser isn't suitable for this case, parse is a process, not a instance.
Parse function will match a local file from a url, containing any other attribute like wrap, pkg and so on.
The match will pass to many rules, break when matched, rule can be customize also

Closes #11
这里优先使用 spm_modules 吧。