I think Jirafeau could do it but it does not tick all your requirements. I don't think you can limit upload to admin only for example. Check it out and see if it is enough for your usage =)
Edit : There is demo site if you want.