Refactoring to allow more control over avatars in plugins.
The avatar() function now accepts an array of member details (by default: memberId, avatarFormat, and email) rather than just the memberId and avatarFormat.
Added functions to remove form and menu elements.
Add option to get absolute URL to a resource.
Gravatar plugin.
fix gravatar default avatar bug
Add "Username or Email" translation
Allow ET::define() function to override language files
Make ETModel::error and validate functions public so plugins can use them
Make login code more extensible