Add documentation for canvas middleware

Sorry for the enorme delay in getting this documentation.

I added a simple step in the main readme (it's actual very simple to use the middleware!) and also tried to refactor and explain better the middleware as you have suggested.

improve middleware explanation
use exceptions for missing signed_request
refactor check for permissions to use exception when some is missing
add canvas app docs in main readme