Clean up library implementation and more support for overloaded functions in library view

- Code clean up and re-factoring. There were some data related to library scatter around different classes, now are managed by LibraryServices.
- More support for overloaded functions in library view. According to the design spec, overloaded functions will be displayed in library view like:

    > Math
        > Abs
              nValue: int
              dValue: double