Added XML doc and made the code more presentable

Added XML documentation to every class, constant, constructor, property
and method. Created a new project for the demo. Made the code more
presentable.