lazy session (fixed #201)

I've actually kept things really simple. if there is no session set in the binding
I create lazy session which get initialized whenever any method is called.
when session already exists, no lazy wrapper is used.