When creating a new image style, is there a module which can let you define where to start the cropping? I think Drupal only crops from the very center. What if for this specific image I want the cropping to being from the top left? Or better yet, provide some gui which can let me crop the area manually like in fb.
You mean like image field crop
There are many options to choose from in Drupal for image cropping. Here is a quick comparison.
Allows a user to choose coordinates for different presets on an image. If a user defines coordinates EPSACrop will override the Imagecache process and will set new coordinates.
When the user uploads an image, the image is presented inside a cropping area. A cropping box is shown inside, and the user can resize and move it. Upon clicking 'preview' or 'submit', the image is cropped and the result is saved instead of the original image.
This module allows to scale and crop images focusing on their important portions.
Bring Photoshop-like functionality into your Drupal website! Create/edit any images online in the powerful and feature-rich image editors and save resulted images back to your site! This project integrates several popular online image editing services into Drupal:Pixlr editors: Pixlr Editor and Pixlr Express, Picnik, Simple HTML5 editor from Aviary: Aviary Feather, Advanced Aviary editors: Aviary Phoenix; Aviary Raven (vector editor - not working yet); Aviary Peacock; Aviary Falcon, Sumo Paint, FotoFlexer and Open-source HTML5 PaintWeb editor.
On a side note, (this is not what you were really asking, but) anyone coming to read this post looking for similar functionality directly in IMCE can use the IMCE Crop module which adds image cropping functionality to IMCE through its UI. And for kicks, if your looking for the ability for users to be able to do manual cropping on their avatars, use Avatar Crop. Or just to force Image presets on Avatars, use Image Cache Profiles.